package ophiux.wechatpay.sdk.client;

import ophiux.wechatpay.sdk.OphiuxWeChatPaySDKException;
import ophiux.wechatpay.sdk.request.OphiuxBaseRequest;
import ophiux.wechatpay.sdk.response.OphiuxResponse;



public interface IWechatPayClient {
	/**
	 * 当微信返回的是“返回对象”的时候，用此方法
	 * @param _request
	 * @return
	 * @throws OphiuxWeChatPaySDKException
	 */
	public <T extends OphiuxResponse> T executor(OphiuxBaseRequest<T> _request) throws OphiuxWeChatPaySDKException;
	
	/**
	 * 当微信返回的是“字符串”的时候，用此方法
	 * @param _request
	 * @return
	 * @throws OphiuxWeChatPaySDKException
	 */
	public <T extends OphiuxResponse> String executor_str(OphiuxBaseRequest<T> _request) throws OphiuxWeChatPaySDKException;
	
}
